package com.scs.application.modules.dept.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.scs.application.core.entity.DataEntity;
import com.scs.application.modules.upgrade.db.annotation.EntityClassAnnotation;
import com.scs.application.modules.upgrade.db.annotation.EntityFieldAnnotation;
import com.scs.application.modules.upgrade.db.enums.EntityFieldType;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;
/**
 * <p>
 *
 * </p>
 *
 */
@Data
@Accessors(chain = true)
@EntityClassAnnotation(remark = "月结明细表")
@TableName("dept_monthly_balance_item")
public class MonthlyBalanceItem extends DataEntity {

    @EntityFieldAnnotation(
            text = "",
            length = "20",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String deptMonthlyBalanceId;

    @EntityFieldAnnotation(
            text = "起始日期",
            length = "",
            type = EntityFieldType.DATE,
            not_null = false,
            default_value = "",
            comment = ""
    )
    private Date beginDate;

    @EntityFieldAnnotation(
            text = "结束日期",
            length = "",
            type = EntityFieldType.DATE,
            not_null = false,
            default_value = "",
            comment = ""
    )
    private Date endDate;

    @EntityFieldAnnotation(
            text = "耗材id",
            type = EntityFieldType.LONG,
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String matrId;

    @EntityFieldAnnotation(
            text = "品名",
            length = "100",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String matrName;

    @EntityFieldAnnotation(
            text = "品规",
            length = "100",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String matrSpec;

    @EntityFieldAnnotation(
            text = "入库数量",
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private Double qtyIn;
    @EntityFieldAnnotation(
            text = "入库金额",
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private Double amountIn;

    @EntityFieldAnnotation(
            text = "出库数量",
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private Double qtyOut;

    @EntityFieldAnnotation(
            text = "出库金额",
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private Double amountOut;


    @EntityFieldAnnotation(
            text = "期初数量",
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private Double qtyBegin;

    @EntityFieldAnnotation(
            text = "期初金额",
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private Double amountBegin;

    @EntityFieldAnnotation(
            text = "期末数量",
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private Double qtyEnd;

    @EntityFieldAnnotation(
            text = "期末金额",
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private Double amountEnd;

    @EntityFieldAnnotation(
            text = "",
            length = "20",
            type = EntityFieldType.LONG,
            not_null = false,
            default_value = "",
            comment = "供应商id"
    )
    private String supplierId;

    @EntityFieldAnnotation(
            text = "",
            length = "50",
            not_null = false,
            default_value = "",
            comment = "供应商名称"
    )
    private String supplierName;

    @EntityFieldAnnotation(
            text = "消耗出库数量",
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private Double qtyConsumeOut;

    @EntityFieldAnnotation(
            text = "消耗出库金额",
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private Double amountConsumeOut;


    @EntityFieldAnnotation(
            text = "调价数量",
            length = "",
            not_null = false,
            default_value = "0.0",
            comment = ""
    )
    private Double qtyModify;

    @EntityFieldAnnotation(
            text = "调价金额",
            length = "",
            not_null = false,
            default_value = "0.0",
            comment = ""
    )
    private Double amountModify;

    @EntityFieldAnnotation(
            text = "计费金额",
            length = "",
            not_null = false,
            default_value = "0.0",
            comment = ""
    )
    private Double amountCharging;

    @EntityFieldAnnotation(
            text = "计费数量",
            length = "",
            not_null = false,
            default_value = "0.0",
            comment = ""
    )
    private Double qtyCharging;

    @EntityFieldAnnotation(
            text = "异常金额",
            length = "",
            not_null = false,
            default_value = "0.0",
            comment = ""
    )
    private Double amountAbnormal;

    @EntityFieldAnnotation(
            text = "异常数量",
            length = "",
            not_null = false,
            default_value = "0.0",
            comment = ""
    )
    private Double qtyAbnormal;



    @EntityFieldAnnotation(
            text = "一物一码管理",
            length = "",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private Boolean flagOmoc;

    @EntityFieldAnnotation(
            text = "耗材型号",
            length = "100",
            not_null = false,
            default_value = "",
            comment = "耗材型号"
    )
    private String matrModel;

}
